package com.crr.service.impl;

import com.crr.bean.Car;
import com.crr.service.CarService;
import com.crr.utils.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

@Service
public class CarServiceImpl3 implements CarService {

    @Autowired
    RedisUtils redisUtils;

    @Override
    public void addcar(Car car) {
        String key ="user:id:1";

        List<Car> carlist=null;
        //取数据
        Object obj=redisUtils.get(key);
        if(null==obj){
            //说明不存在
            carlist=new ArrayList<>();
            carlist.add(car);
        }else{
            //如果存在obj                     carlist
            carlist=(List<Car>) obj;
            //遍历
            Iterator<Car> it=carlist.iterator();
            boolean isexist=false;//默认新加入的商品在购物车不存在
            while(it.hasNext()){
                //获取当前对象
                Car tmp=it.next();
                if(tmp.getId()==car.getId()){
                    //找到了 修改数量
                    int tmpNum=tmp.getNum();
                    tmpNum++;
                    tmp.setNum(tmpNum);
                    isexist=true;
                    break;
                }

            }
            if(!isexist){
                //说明新加的商品 在购物车不存在
                carlist.add(car);
            }
        }
        redisUtils.setEx(key,carlist,20);
    }

    @Override
    public List<Car> getCarList() {
        String key="user:id:1";
        List<Car> list=null;
        Object o=redisUtils.get(key);
        if(null!=o)
            list= (List<Car>) o;
        System.out.println(list);
        return list;

    }
}